﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using blackhouse.BlackApart.Business.Calendar;
using blackhouse.BlackApart.Business.Apartments;
using blackhouse.BlackApart.Business.Prices;

namespace blackhouse.BlackApart.Business.Reservations
{
    public interface IReservation
    {

        int Id { get; }
        DateTime StartDate { get; }
        DateTime EndDate { get; }
        int NumberOfPeople { get; }
        IApartment Apartment { get; set; }
        IApartmentPrice Price { get; set; }

        void SetStartDate(DateTime date);
        void SetStartDate(DateTime date, bool useOrginalTime);
        void SetEndDate(DateTime date);
        void SetEndDate(DateTime date, bool useOrginalTime);
        void SetForNumberOfPeople(int numberOfPeople);
        bool Save();
        IReservation[] GetReservations(ICalendar calendar, DateTime startDate, DateTime endDate);
        bool Remove();

    }
}
